約 4,551,488 件
https://w.atwiki.jp/iphone_icon/pages/2.html
メニュー FAQ アイコン画像 オリジナル画像置き場 アイコン探しに便利なサイト URLスキーム 標準アプリ サードアプリ ここを編集
https://w.atwiki.jp/myscripts/pages/30.html
スクリプトを起動する方法は多岐に渡り、用途によって柔軟に対応できます。 スクリプト一覧画面を目的のスクリプトをタップ URLスキームからの起動通知センターからの起動(MyShortcuts) ホーム画面からの起動(Touch Icon Creator) URLスキームからの起動(テキスト指定) バックグラウンド監視 外部からのopenin スクリプトを処理するスクリプトの起動 スクリプト一覧画面を目的のスクリプトをタップ 最も単純な起動方法で、多くのスクリプトはこの方法で起動します。 テキストを処理するスクリプトの場合、対象文字列はクリップボードの文字列です。 URLスキームからの起動 myscripts //run?title=TITLE の形のURLスキームによって既存のスクリプトを外部から起動出来ます。 テキストを処理するスクリプトの場合、対象文字列はクリップボードの文字列です。 このURLスキームはスクリプト一覧画面で対象スクリプトを長押しし、「リンクを作成」→「スクリプト実行用(クリップボード)」を選択することで取得できます。 通知センターからの起動(MyShortcuts) myscripts //run?title=TITLE の形のURLスキームをMyShortcutsアプリに登録することで通知センターから起動出来ます。 参照:MyScriptsの基本「通知センターからの起動」 - Teachme MyScripts MyShortcuts ホーム画面からの起動(Touch Icon Creator) myscripts //run?title=TITLE の形のURLスキームをTouch Icon Creatorアプリに登録することでホーム画面から起動出来ます。 参照:スクリプトをSpotlightから検索する方法 - Teachme MyScripts URLスキームからの起動(テキスト指定) myscripts //run?title=TITLE text=TEXT の形のURLスキームによってテキストを指定しつつ既存のスクリプトを外部から起動出来ます。 文字列を処理するスクリプトの場合、対象文字列はTEXTで指定された文字列です。 このURLスキームはスクリプト一覧画面で対象スクリプトを長押しし、「リンクを作成」→「スクリプト実行用(パラメータ)」を選択することで取得できます。 取得したURLスキームの中で TEXT の部分は起動元のアプリに従って書き換えます。 例えば検索ハブアプリで入力したテキストをスクリプトに渡したい場合 myscripts //run?title=TITLE text=_Q_ と書き換えます。 バックグラウンド監視 設定.appで通知→MyScriptsと進み通知センターをオンにしておきます。(通知のスタイルはバナー通知が良いでしょう。) スクリプト一覧画面 で目的のスクリプトの右にあるチェックボックスをオンにします。 他のアプリで文をコピーするとコピーされたテキストの処理結果が通知センターに表示されます。 アクションがcopyであるスクリプト(アイコンがメモの絵文字)のときはクリップボードの内容が処理されるのでそのままペーストします。 その他のアクションであるスクリプトはバナー通知をタップすることでMyScriptsに画面が移行し、目的のスクリプトが起動します。 参照:MyScriptsの基本「バックグラウンド監視」 - Teachme MyScripts 外部からのopenin 中身がテキストであるファイル(txt, js, htmlなど)はOpen inによっても処理出来ます。 まず他のアプリで目的のテキストファイルを選択し、Open in(アプリによっては「共有」、「...で開く」などの名前)を選択します。 メニューからMyScriptsを選択するとMyScriptsに画面が移り「テキストを処理します」のメニューが現れます。 「スクリプトを実行...」を選択し、実行するスクリプトを選ぶと、元のテキストファイルが選んだスクリプトに従って処理されます。 スクリプトを処理するスクリプトの起動 スクリプト一覧画面で処理対象のスクリプトを長押しします。 メニューから「スクリプトを実行...」を選択します。 スクリプトを処理するスクリプト(#PROCESS_SCRIPTがソースコードに含まれる)の一覧が表示されるので選択します。 処理対象のスクリプトのタイトルや本文が、選択したスクリプトによって処理されます。
https://w.atwiki.jp/iphone_icon/pages/17.html
アイコン変えることすらどうやるのか分からない超ド素人なんだけど誰か教えてくれ まずは 1 の touch icon creater を落としてみて、みんなが何を話しているのか理解してくれ。 総本山貼ってないの? TIC総本山はこちら http //www.touch-icon.com/v2i/ 元々は無料のウェブサービスとして始まったものだから、アプリなんか入れなくてもいつでも無料でできる。アプリのほうが便利だけど。 Q.電話とメールのスキームは個別指定でしかショートカットできないの?smsみたいに一覧ページにショートカットしたいんだけど・・・ メールはmailto で新規メールには設定できる。 wiki内にリンクのある海外サイト見るとCCとかもいけるっぽい。 電話はtel //だけど、電話番号入れなきゃダメ。みんなが望むようなのは無理。 デフォのではなくてサードの連絡帳アプリを登録してみては? Q.safari・YouTubeのスキームわかる人いますか? 適当なページへのショートカットで代用。 safariで前開いていたページが残るのが嫌な人はプライベートブラウジングの設定できる別のブラウザアプリを薦める。 Q.○○のスキーム教えて! まず訊く前にggるかipabacklistで調べる。 ipabacklistにあって表示されないアプリは、iPhone(端末)が対応してないだけ。 ipabacklistは50回起動まで無料で利用できる。 Q.スキームって今ないものでもアプデで対応してきたりってあるんですか? ありえる。当然ながら対応アプリが非対応になる事も。 開発者に問い合わせてスキーム対応を頼むのも手。 Q.どうしてもURLスキームの無いアプリをJBしないでアイコン変更したい App storeとか元から入ってるやつ以外は大抵iPhone Explorerで変えられる。 Q.みんなアイコンはどこから入手してるんですか?。 アイコン探しに便利なサイトを見るか、「アイコン 画像 (+iPhone)」で検索かけると出てくる。
https://w.atwiki.jp/api_programming/pages/191.html
下位ページ 画面遷移 Content プロジェクト作成上の注意 カスタムURLスキームへトライ Oauthを処理する遷移先からのコールバックをどう処理するか? 画面のスクロール とりあえずアカウントを使って、ログイン onsen UIって何?→ jQueryMobileのようなフレームワーク Hello, world 的なものを表示してみる。 index.htmlをいじるだけでパットできた。 ボタンを配置して、反応するようにしてみた。 input type="button" value="click" onClick="testfunt()"/ を配置。 スクリプトに function testfunc(){ alert("msgbox"); } を作成。できた。 コンソールに表示させよう。 tesufunc()に console.log("log"); を追加したが、出ない。どうもブラウザのIDEでは出ない仕様らしい。しかし、Chromeのdevtoolに、結果がでてくる。 ページ読み込み時に実行されるのは、onsen ui では ons.ready(){} らしい。jQueryのように $(document).ready() を配置したら、$って何? のエラーが出た。onsen ui ってjQuert上で動いているんじゃないのね。 プロジェクト作成上の注意 あくまで、最近(2017年9月)に久しぶりに少し触ったときの状況。 onsen ui を使ったプロジェクトを使うより、空のプロジェクトに onsen ui や jQuery を加えていったほうが変なエラーが出づらい。ons-navigator の id で操作が効かず、document.query... みたいなのを使った。それが、空プロジェクトからコンポーネントを加えたら通った。 世間の本では onsen ui の v1 で説明しているものがあるが、メソッドが変わったりしているので注意が必要。 Onsen UI V2 移行ガイド - ギャップロ カスタムURLスキームへトライ 【Android】はじめてのカスタムURLスキーム 設定ファイルの変更 AndroidManifest.xmlの変更 Cordova 6.2 では AndroidManifest.xml が廃止された。custom config プラグインを使うファイル Cordova プラグインの管理 or 設定 Cordova プラグインの管理 Android 向けの config-file ブロックの設定方法 を見て、設定例を見よう Oauthを処理する 遷移先からのコールバックをどう処理するか? とりあえず InAppBrowser で処理をする。この方法は現在のgoogleでは多分使えない。(InAppBrowserでの処理を許していないみたい) InAppBrowserを使う際は、InAppBrowserプラグインを忘れない。そうしないとデバッグで動いても、ビルド後に使えない。 // InAppBrowser で開く ver res = window.open(url); // InAppBrowser に、イベントが起きた際の処理を書いておく res.addEventListener( "loadstart", function( event ) { var url = event.url.split( "?" )[ 0 ]; // URLを取り出す if ( url.indexOf( "http //myapp" ) != -1 ){ // パラメータ文字列の処理 var params = event.url.split( "?" )[ 1 ].split( " " ); /* ここに処理 */ res.close(); // ウィンドウを閉じる } }); 画面のスクロール jQueryの animate を使ってスクロールさせようとしたが、 $("html,body").animate(...) ではスクロールしない。 $("ons-page").animate(...) を指定したらスクロールした。
https://w.atwiki.jp/janetterref/pages/62.html
iOS版むけ情報 FAQプロ版と無料版の違いは? プッシュ通知(リアルタイム更新)には対応していないの? プロフィールの編集はできないの? ツイートの翻訳はできないの? ハッシュタグや@ユーザー名の入力補助はないの? 英文のスペルチェック機能はないの? プラットフォーム間(iPhone/iPad/Android/Windows/Mac)の未読同期はまだ? URLスキームには対応していないの? FAQ プロ版と無料版の違いは? 価格 タイムライン上部のバナー広告 登録できるアカウント数 プロ版 600円(6.99米ドル) なし 7 無料版 0円 あり 3 プッシュ通知(リアルタイム更新)には対応していないの? (バージョン1.4.0)対応していません。 (公式ブログから) @ツイートやDMの受信、リツイートやお気に入りされたことをリアルタイムで通知するのはTwitterの許可が必要です。許可があり次第対応したいと考えています。 プロフィールの編集はできないの? (バージョン1.4.0)できません。 今後の対応を予定しています。 ツイートの翻訳はできないの? (バージョン1.4.0)できません。 今後の対応を予定しています。 ハッシュタグや@ユーザー名の入力補助はないの? (バージョン1.4.0)ありません。 今後の対応を予定しています。 英文のスペルチェック機能はないの? (バージョン1.4.0)ありません。 今後の対応を予定しています。 プラットフォーム間(iPhone/iPad/Android/Windows/Mac)の未読同期はまだ? (バージョン1.4.0)まだです。 今後の対応を予定しています。 URLスキームには対応していないの? janetter // がURLスキームです。 また、次の内容に対応しています。 ツイート欄に指定テキストを入れた状態で表示janetter //post?text=hoge account=screen_name
https://w.atwiki.jp/sevenlives/pages/714.html
スキーム名 読み:すきーむめい 英語:scheme 別名: 意味: スキーム名とはリソースの到達手段を表す。 おもにhttpやftpなどのプロトコル?が指定される。 URIの一部で一般にはwebブラウザに表示されるURLの先頭についていることで有名。 このページの場所、 http //www23.atwiki.jp/sevenlives/pages/714.html で喩えるなら、先頭のhttpの部分のこと。 2015年11月08日 ホスト名 パス? ポート クエリー? URI URL ■ スキームの種類 http ? ftp ? mailto ?
https://w.atwiki.jp/gamemusicbest100/pages/342.html
ザ・スキーム 機種:PC88 作曲者:古代祐三 発売元:ボーステック 発売年:1988年 概要 1988年に発売されたPC-8801mk2SR用アクションゲーム。 ファルコムからフリーとなった作曲者の古代祐三氏はサウンドボードを活用するのに優れており、発売当初はPCから音が出ているのが信じられないと評判になった。 曲自体も評価は高く、サンプリング音色の衝撃と合わさって、一時期はPCのゲームミュージックと言えばこれを外せない状態になる。 また、この楽曲を聴く為にPC本体を買った猛者も出たという。 その後は曲だけが一人歩きして「曲は知っているがゲームは知らない」という現象が多発した。 インディーズではあるが続編として『ワンダラーズ・フロム・スーパースキーム』が発売されている。 収録曲 曲名 補足 順位 SPECIAL INTO THE LAIR タイトル DEATH WORLD ファイルセレクト I LL SAVE YOU ALL MY JUSTICE 地上 第1回64位第3回587位マイナーレトロ16位第2回マイナーレトロ60位第3回マイナーレトロ10位横スクロール132位掘り出し24位パソコンゲーム32位一面271位 COWARD! VSファーファ・ボーズテック・ブルードラゴン HA! HA! 地下入口エリア PERPETUAL DARK! ユニコーン像エリア(下) パソコンゲーム179位 SHOUT DOWN 力強い男像エリア THOUSAND EYES パワーブーツエリア NUCLEAR POWER ドラゴン像エリア MASTER OF THE SHOOTING VSゴーゴン・ナーブ ANGRY FIST ユニコーン像エリア(上) THE FORCE ROTTED AWAY 黄金像エリア THE EMPEROR WAS STEEPED IN VICE 最終エリア HARDY IS THE STRONGEST VSハーディ CHALLENGING TOMORROW エンディング 第3回マイナーレトロ98位パソコンゲーム142位 GAME OVER ゲームオーバー HASSIN COM. 未使用曲 OUTCAST ONE 未使用曲 MAGISTIC FIRE 未使用曲 THEME OF THE GIGAIKOTSU ファイルセレクトサントラ未収録 NORMAL 勇者マルス タイトル DEATH WORLD ファイルセレクト THE SCHEME 地上 dead-end crisis VSファーファ・ボーズテック・ブルードラゴン The elegy of battle 地下入口エリア Abandoned mine ユニコーン像エリア(下) 地底の覇者 力強い男像エリア A leaden sky 無限ループエリア The force rotted away パワーブーツエリア strange field VSゴーゴン・ナーブ MONSTER CARNIVAL ユニコーン像エリア(上) 墓場 黄金像エリア 呪われた氷窟 最終エリア The ambition of HARDY VSハーディ 時の流れるままに エンディング promise tomorrow! ゲームオーバー サウンドトラック ザ・スキーム Early Collection / Yuzo Koshiro レジェンド 80’S「ザ・スキーム サウンドトラック」 PV
https://w.atwiki.jp/api_programming/pages/42.html
下位ページ タスク処理WEBアプリ Content JSON CORS 日付、時間RFC3339 ISO8601 プログラミング言語でどう処理するかJavascript ボタンのジェネレータpng css Getting Things Done Feedlyのgoogleアラート登録 URLスキームでプログラムを起動する 問題解決の自己ログ JSON JSON CORS https //developer.mozilla.org/ja/docs/HTTP_access_control あるドメインから取得したページ内で、別のドメインのページを呼び出せない。 imgタグ内、scriptタグ内など、例外はある(ので、CORSを知らないとなんでできないの?と思ってしまう) 日付、時間 RFC3339 ISO8601 Google Calendar は RFC3339、Remember The Milk は ISO8601 と書いてある。 同じ、という見解(のような)ページもあるし、違う、という見解(のような)ぺーじもある。 ISO8601では T の代わりにスペースを用いることも許しているらしい。 http //d.hatena.ne.jp/katona/20080507/p2 2001-02-03T04 05 06+09 00 2001-02-03 04 05 06+09 00 プログラミング言語でどう処理するか Javascript ISO8601/RFC3339での表現は、javascript Dateのコンストラクタの引数で使えるか? → Firefox 31.0 では、コンストラクタの引数で使えた。 YYYY/MM/DD HH MM での表現は、javascript Dateのコンストラクタの引数で使えるか? (Dateboxの日本語化?のデフォルトでは、日付が 2012/03/04、時刻が 01 23 の形式だった。) → Firefox 31.0 では、コンストラクタの引数で使えた。 http //okelawebsite.appspot.com/experiment/rfc3339tojsdate.html http //dansnetwork.com/javascript-iso8601rfc3339-date-parser/ ボタンのジェネレータ png http //jirox.net/AsButtonGen/ css http //cssgradientbutton.com/ http //noht.co.jp/2_5dbutton Getting Things Done ワークフローシステムの一種 http //gettingthingsdone.com/ Five Simple Steps That Apply Order to Chaos - Getting Things Done 始めてのGTD - 誠 Biz.ID処理 写真でわかるGTD(初回編) (3/4) - 誠 Biz.ID 整理/レビュー/実行 写真でわかるGTD(初回編) (4/4) Feedlyのgoogleアラート登録 Feedly は google の検索結果(google keyword)を登録する機能があるが、有料に移行しないと使えない。そこで、googleアラートのRSSを手動で登録する。 FeedlyのOPMLをダウンロードする ソースを良く見てみる。 書き換える 登録する で何とかなる。 URLスキームでプログラムを起動する https //qiita.com/yiaowang/items/8d195ce6dc9edb00e48c レジストリエディタを起動するregedit レジストリにキーと値を登録 HKEY_CLASSES_ROOT └【{任意の名前}】 ├「(規定)」URL {任意の名前} ├「URL Protocol」 └【shell】 └【open】 └【command】 └「(規定)」{実行したいファイルパス} HKEY_CLASSES_ROOT └ecodeco ├(規定) 種類:REG_SZ URL ecodeco ├URL Protocol ← 新規、文字列値で追加する └shell←ツリー上で、新規・キー └open←ツリー上で、新規・キー └command←ツリー上で、新規・キー └「規定) 種類:REG_SZ URL C \Program Files\...
https://w.atwiki.jp/myscripts/
このwikiについて 基本情報 スクリプト集・掲載ブログ MyScriptsの基本 よくある質問 スクリプト スクリプト作成におけるTips集 URLスキーム一覧 逆引きMyScripts 更新履歴 取得中です。
https://w.atwiki.jp/nina_a/pages/64.html
XMLスキーマ このページを編集 XMLスキーマとは 要素を定義する 型を定義する単純型既存型の制限数値の制限 文字の制限 型の選択 型のリスト 複合型の定義単純型を持つ複合型 複合型を持つ複合型子要素の制限 complexContentの省略 属性の定義属性の参照とグループ化 このページはある程度XMLを知っている人や、XMLスキーマを何となく知っている人でないと分からないと思います。 XMLスキーマとは XMLスキーマはXMLの要素の名前やその出現位置や回数などを定義する文書です。XMLスキーマの基本形は以下のようになっています。以下は文字列をコンテンツとして持つdefinitionという要素を定義するXMLスキーマです。 +XMLスキーマの雛形 ?xml version="1.0"? xsd schema xmlns xsd="http //www.w3.org/2001/XMLSchema" xmlns n="http //xml.nna.com" targetNamespace="http //xml.nna.com" !-- 定義ここから -- xsd element name="definition" type="xsd string" / !-- 定義ここまで -- /xsd schema 要素を定義する XMLの要素を定義するにはelementを使用します。 xsd element name="要素名" type="型名" / 型は既存の物ではなくその場で作成してもかまいません。このelement内で型を定義した場合,型の名前を省略することができて、この型のことを匿名型といいます。 xsd element name="要素名" !-- ここに型の定義を書く -- /xsd element 要素を別の場所で定義しておいてそれを参照することが出来ます。 xsd element ref="参照する要素名" / xsd element name="要素名" !-- ここに型の定義を書く -- /xsd element 型を定義する XMLの型には単純型と複合型の2種類があります。単純型は属性も子要素も持つことが出来ず,あるのはコンテント(内容)のみです。属性や子要素を持つ場合は複合型を利用します。 単純型 複合型 例 date 2011/10/28 /date date type="solar" year 2011 /year /date 属性の有無 無 有 子要素の有無 無 有 単純型の定義にはsimpleType、複合型の定義にはcomplexType要素を使用します。 単純型 組み込みの単純型の一覧は google 検索 からどうぞ。単純型を作る方法は、(1)既存の単純型に制限を加えて作成、(2)いくつかの単純型からどれか1つを選択する単純型、(3)既存の単純型の複数形の3つがあります。 既存型の制限 既存の単純型に制限を加えるにはrestrictionを使用する。 xsd simpleType name="型名" xsd restriction baseType="元にする型名" !-- 制限をここに記述する -- /xsd restriction /xsd simpleType 数値の制限 元にする単純型が数値の場合,最大値や最小値,桁数などを制限できます。 スキーマ 制限 xsd minInclusive value="x" / 値はx以上である xsd maxInclusive value="x" / 値はx以下である xsd minExclusive value="x" / 値はxより大きい xsd maxExclusive value="x" / 値はxより小さい xsd totalDigits value="x" / 値の整数部はx桁以下である xsd fractionDigits value="x" / 値の少数部はx桁以下である -最小値が0,最大値が9の整数値を定義するスキーマ !-- 最小値が0,最大値が9の整数値を定義 -- xsd simpleType name="型名" xsd restriction baseType="xsd int" !-- intは組み込みの整数型 -- xsd minInclusive value="0" / xsd maxExclusive value="10" / /xsd restriction /xsd simpleType 文字の制限 元にする単純型が文字列の場合、文字数の制限や、特定の文字列のみに制限したり、さらには正規表現による柔軟な制限も可能です。 スキーマ 制限 xsd length value="x" / 文字列の長さはxである xsd minLength value="x" / 文字列の長さはx以上でである xsd maxLength value="x" / 文字列の長さはx以下である xsd enumeration value="x" / 文字列はxという値を取り得る xsd pattern value="x" / 文字列は正規表現xと一致する -2文字以上3文字以下の文字列を定義するスキーマ !-- 2文字以上3文字以下の文字列を定義 -- xsd simpleType name="型名" xsd restriction baseType="xsd string" !-- stringは組み込みの文字列型 -- xsd minLength value="2" / xsd maxLength value="3" / /xsd restriction /xsd simpleType -特定の文字列のみ受け入れる文字列を定義するスキーマ !-- 春、夏、秋、冬のみを受け入れる文字列を定義 -- xsd simpleType name="型名" xsd restriction baseType="xsd string" !-- stringは組み込みの文字列型 -- xsd enumeration value="春" / xsd enumeration value="夏" / xsd enumeration value="秋" / xsd enumeration value="冬" / /xsd restriction /xsd simpleType -郵便番号のみ受け入れる文字列を定義するスキーマ !-- 郵便番号のみを受け入れる文字列を定義 -- xsd simpleType name="型名" xsd restriction baseType="xsd string" !-- stringは組み込みの文字列型 -- xsd pattern value="\d{3}-\d{4}" / !-- \d{3}-\d{4}は「数字3桁-数字4桁」を意味する正規表現 -- /xsd restriction /xsd simpleType 型の選択 いくつかの単純型のうち、どれか1つを選択する場合にはunionを利用します。以下は正整数か負正数のどちらかをとる単純型を定義しています。 xsd simpleType name="型名" xsd union memberTypes="xsd positiveInteger xsd negativeInteger" / !-- 半角スペースで区切って記述する -- /xsd simpleType 型のリスト 既存の単純型の複数形を作成するにはlistを利用します。以下は複数個の整数をとる単純型を定義しています。 xsd simpleType name="型名" xsd list itemType="xsd int" / /xsd simpleType なお、(1)の方法によりリストの長さを制限することが可能です。 スキーマ 制限 xsd length value="x" / リストの長さはxである xsd minLength value="x" / リストの長さはx以上でである xsd maxLength value="x" / リストの長さはx以下である 複合型の定義 複合型の場合はsimpleTypeの代わりにcomplexTypeを使用して定義します。 xsd complexType name="型名" !-- ここに属性や子要素の定義を書く -- /xsd complexType 複合型はコンテンツとして単純型を持つか、複合型を持つかの2通りに分けられます。 !-- 単純型をコンテンツに持つ複合型 -- text lang="jp" 日本語のテキスト /text !-- 複合型をコンテンツに持つ複合型 -- text lang code="jp" 日本語のテキスト /lang /text 単純型を持つ複合型 単純型をコンテンツに持つ複合型を定義するにはsimpleContentを使用します。 xsd complexType name="型名" xsd simpleContent xsd extension base="元にする単純型名" !-- ここに属性を書く -- /xsd extension /xsd simpleContent /xsd complexType また、元にする型に制限を加えることも出来ます。 xsd complexType name="型名" xsd simpleContent xsd restriction base="元にする単純型名" !-- ここに制限を書く -- !-- ここに属性を書く -- /xsd extension /xsd simpleContent /xsd complexType 複合型を持つ複合型 複合型をコンテンツに持つ複合型を定義するにはcomplexContentを使用します。基本は単純型と同じです。 xsd complexType name="型名" xsd complexContent xsd extension base="元にする複合型名" !-- ここに属性を書く -- /xsd extension /xsd simpleContent /xsd complexType また、元にする複合型に制限を加えることも出来ます。 xsd complexType name="型名" xsd complexContent xsd restriction base="元にする複合型名" !-- ここに制限を書く -- !-- ここに属性を書く -- /xsd restriction /xsd complexContent /xsd complexType 例えば、aという名前の要素を子要素に持つ型xは以下のように定義します。anyTypeという何でもありの型に「aという要素が登場する」という制限を加えて実現します。 xsd complexType name="x" xsd complexContent xsd restriction base="xsd anyType" xsd sequence xsd element name="a" / /xsd sequence /xsd restriction /xsd complexContent /xsd complexType 子要素の制限 子要素の制限は「何が」,「どの順で」,「何回」でてくるかを制限できます。 要素指定 「何が」を制限するにはelement要素を指定します。 順序指定 「どの順で」を制限するにはsequence, choice, all要素のいずれかを利用します. 回数指定 「何回」を制限するにはminOccurs属性(最小出現回数)とmaxOccurs属性(最大出現回数)を使用します。いずれもデフォルトは1です。何回出現しても良い場合はmaxOccursにunboundedを指定します。 順序定義 説明 sequence 順序指定。記述された通りの順序で要素が登場する。 choice 順序不問。記述された要素のいずれかが登場する。 all 順序不問。記述された要素が全てが1回登場するか、全て1回も登場しないかのどちらか。 出現回数の定義は順序定義によって微妙に異なります。sequenceは要素が順序通りに出現しきったら1回ですが、choiceは要素が出現したら1回になります。以下のスキーマを例に見ます。 xsd complexType name="x" xsd complexContent xsd restriction base="xsd anyType" xsd sequence maxOccurs="2" xsd element name="a" type="aの型" / xsd element name="b" type="bの型" / /xsd sequence /xsd restriction /xsd complexContent /xsd complexType xsd complexType name="y" xsd complexContent xsd restriction base="xsd anyType" xsd choice maxOccurs="2" xsd element name="a" type="aの型" / xsd element name="b" type="bの型" / /xsd choice /xsd restriction /xsd complexContent /xsd complexType sequenceであるxはa、bの順に登場したら1回ですが,choiceであるyはa、bのどちらかが登場したら1回です。 x a / b / !-- これで1回 -- a / b / !-- これで2回 -- /x y a / !-- これで1回 -- b / !-- これで2回 -- b / !-- これで3回。最大出現回数を超えているのでこのXMLはエラーになる -- /y もし、この要素は出現しなくても良いというように,各要素に対して出現回数を指定したい場合は,各要素に対してminOccursやmaxOccurs属性を指定します。 xsd complexType name="x" xsd sequence xsd element name="a" minOccurs="0"/ xsd element name="b" / /xsd sequence /xsd complexType complexContentの省略 sequence、choice、allを使用する場合、complexContentとrestrictionを省略できます。 xsd complexType name="x" xsd complexContent xsd restriction base="xsd anyType" xsd sequence xsd element name="a" / /xsd sequence /xsd restriction /xsd complexContent /xsd complexType !-- 上のxと下のyの意味は同じです -- xsd complexType name="y" xsd sequence xsd element name="a" / /xsd sequence /xsd complexType 属性の定義 属性を定義するにはattribute要素を追加します。 xsd attribute name="属性名" type="属性値の型" / 属性を単純型を持つ複合型に定義する場合は「既存の単純型に属性を追加する」という拡張を行います。 xsd complexType xsd simpleContent xsd extension base="既存の型" !-- 既存の型に属性を追加拡張 -- xsd attribute name="属性名" type="属性値の型" / /xsd extension /xsd simpleContent /xsd complexType 属性を複合型を持つ複合型に定義する場合は、単純型と同じく既存の複合型を拡張する、あるいは「何でもありのanyTypeの属性を定める」という制限により行います。 xsd complexType xsd complexContent xsd restriction base="xsd anyType" xsd sequence … /xsd sequence xsd attribute name="属性名" type="属性値の型" / /xsd restriction /xsd complexContent /xsd complexType !-- complexContentが省略された場合 -- xsd complexType name="型名" xsd sequence … /xsd sequence xsd attribute name="属性名" type="属性値の型" / /xsd complexType 省略可能な属性はuse="optional"を指定します。省略された場合のデフォルト値を指定できます。 xsd attribute name="属性名" type="属性値の型" use="optional" default="デフォルト値" / 属性の参照とグループ化 複数箇所で使われるような属性はそれらを別に定義して参照することができます。 xsd complexType name="型名" xsd sequence … /xsd sequence xsd attribute ref="参照する属性名" / /xsd complexType xsd attribute name="属性名" type="属性値の型" / また、常にセットで扱われるような属性がある場合、それらをグループ化することができます。 xsd complexType name="型名" xsd sequence … /xsd sequence xsd attributeGroup ref="参照する属性グループ名" / /xsd complexType xsd attributeGroup name="属性グループ名" xsd attribute name="属性1"/ xsd attribute name="属性2"/ /xsd attributeGroup 名前 コメント XML XMLスキーマ